

      
                             - D I S I D E N T S - H A C K  J O U R N A L -

                                               Numero 2
                                                  XI

                                       








                                                                 
                                             	  TITLE: LINUX SECURITY I 
                                                  Author: rootzero 
                                                  DISIDENTS ARGENTINA 2001 -  LOS FUERA DE LA LEY









##       ##  ##    ##  ##   ##  ##     ##
##           ##    ##  ##   ##   ##   ##
##       ##  ###   ##  ##   ##    ## ##
##       ##  ##### ##  ##   ##     #### 
##       ##  ##  ####  ##   ##     ####
##       ##  ##   ###  ##   ##    ##  ##
#######  ##  ##    ##  ##   ##   ##    ##
#######  ##  ##    ##  #######  ##      ##

				### #   #
				# # #   #
				##   ###  
				# #   #
				###   #

				####  ####   #### ##### ##### #### ####  ####
				#  # #    # #    #  #      ## #    #  # #    #
				#### #    # #    #  #    ##   #### #### #    #
				##   #    # #    #  #  ##     #    ##   #    #
				# #   ####   ####   #  ###### #### # #   ####
  
  








-------------------------------------------------------------------------------------------------
------------[INDICE - LINUX SECURITY I  ]--------------------------------------------------------
-------------------------------------------------------------------------------------------------
----[A Instalacion                                                                              -             
----[B Configuracion de un servidor                                                             -                             
----[C Configuracion de la red                                                                  -
----[D Configuracion de LILO                                                                    -   
----[E Conexuion a iternet                                                                      - 
----[F Firewall (ipchains)                                                                      -                            
----[G Usuarios                                                                                 -
----[H Permisos de usuarios                                                                     -
----[I Daemon - httpd                                                                           -                            
----[J Daemon - ftpd                                                                            -                 
----[K Daemon - telnetd                                                                         -                 
----[L Daemon - ircd                                                                            -                
----[M X Window                                                                                 -             
-------------------------------------------------------------------------------------------------                                                                                           -
 









-------------------------------------------------------------------------------------------------
------------[A.- Instalacion ]-------------------------------------------------------------------
-------------------------------------------------------------------------------------------------

Linux es un sistema operativo como muchos otros, este en particular se
basa en UNIX , es decir q es un clonico de UNIX de AT&T, aunque no tiene
ni una sola linea del codigo de AT&T en comun.
Comenzo como un proyecto de un estudiante finlandes llamado Linus Bendict
Torvalds quien trabajo sobre un sistema operativo para pcs 386, Minix, q
su nombre significa MINI-UNIX, Tambien este SO esta basado en UNIX y se
hizo como un SO para q se estudie el codigo fuente de el, como se hacia con
UNIX hasta q AT&T lo prohibio, Andrew Tanenbaum, creador de Minix tiene su
sistema operativo todavia en internet con su codigo fuente.
Linux comenzo a escribirse en Assembler y despues continuo con C. En
octubre de 1991 Linus presento la primera version de su sistema operativo
(linux 0.01- el kernel esta en el zip) y de inmediato empezaron las
repercuciones y no tardaron en llegar consejos aportes y ofrecimientos de
otros programadores. De este modo a partir de un proyecto insignificante
se origino un fanatismo por Linux. Todo el SO es de libre distribucion,  
tambien sus fuentes, esto permite q otros programadores puedan modificar
el source para mejorarlo o corregir bugs.
Poco a poco comenzaron a sumarse al proyecto experimental programadores y
Linux empezo a formarse como un SO completo, Una a una se fueron agregando
todas las utilidades y no se tardo en lograr los primeros editores
clonicos de UNIX, Compiladores, aplicaciones, hasta sistemas de
ventanas.

Caracteristicas principales de linux
------------------------------------
1) Ejecucion de programas
2) Administracion de recursos
3) Interfase primaria entre el usuario y el sistema
4) Soporte para aplicaciones
5) Proteccion de los recursos y del sistema
6) Gestion de usuarios
7) Herramientas basicas para el mantenimiento del sistema
8) Multitasking real

Particionar el disco
--------------------

Necesitas una particion linux native, y una linux swap

	# fdisk /dev/hda

	Command (m for help): p
	Esto listara las otras particiones, hace falta borrar las otras
	antes de crear nuevas, a menos q tengas mas espacio, al hacer
	esto se pueden perder datos
	importantes y otros sistemas operativos dejaran de funcionar.

	Command (m for help): d
	Partition Number (1-4): 1
	Y asi hasta llegar a 4

	Command (m for help): n
	Command Action
	e   extended
	p   primary partition (1-4)
	p[enter]

	- Particion Swap
	Aproximadamente es el doble de la ram,
	ram*2, pensando q tenes 512 Mb de ram seria 512 mb * 2 = 1024 Mb
 	
	Partition number (1-4): 1
	First cylinder (1-999, default 1): 1
	Last cylinder (1-999, default 999): +1024M

	-Particion Linux Native
	Y lo q queda para la linux native
	Partition number (1-4): 2
	First cylinder (1-999, default 1): 100
	Last cylinder (1-999, default 999): 999
	(Los valores de los cylindros q puse no son reales)

	Ahora falta poner los codigos en hexadecimal del 
	filesystem

	Command (m for help): t
	Partition Number (1-4): 1
	Hex code (type L to list codes): 82 (82 es el valor del Linux Swap)

	Command (m for help): t
	Partition Number (1-4): 2
	Hex code (type L to list codes): 83 (83 es el valor del Native)

	Command (m for help): w (Escribe la tabla de particiones)
	Command (m for help): q (Salir sin escribir)

	Ahora solo falta instalar linux, dependiendo de la distribucion q
	estes usando. Y para hacerlo generalmente necesitaras bootear el
	cdrom.







-------------------------------------------------------------------------------------------------
------------[B.- Configuracion basica de un servidor ]-------------------------------------------
-------------------------------------------------------------------------------------------------


- Una red con maquinas conectadas entre si
- Servicios
- Compartir la conexion a internet
- Servidor samba





-------------------------------------------------------------------------------------------------
------------[C.- Configuracion de la red ]-------------------------------------------------------
-------------------------------------------------------------------------------------------------


Clase		IP			Mask
A	0.0.0.0/127.255.255.255		255.0.0.0
B	128.0.0.0/191.255.255.255	255.255.0.0
C	192.0.0.0/223.255.255.255	255.255.255.0

	# ifconfig eth0 up <ip>

<ip> Es la ip q vas a usar.

	# ifconfig eth0 192.168.0.1 up

Lo tenes q hacer en cada pc con diferentes ips

pc1: Va a ser el server - ip: 192.168.0.1
pc2: Cliente - ip: 192.168.0.2
pc3: Cliente - ip: 192.168.0.3

Ahora en el archivo /etc/hosts escribi en el

<ip> <nombre de la pc>

por ejemplo

192.168.0.2 pc2
192.168.0.3 pc3

Y lo grabas

Ahora proba haciendoles pings para ver si responden. Si no responden puede q no
esten correctamente conectadas entre si

SAMBA
-----

smbd: El daemon de samba
smbclient: El cliente

# smbclient -L 192.168.0.2

La configuracion de samba esta en /etc/smb.conf, o en el caso de slackware
en /etc/samba/smb.conf, la configuracion es muy simple y no va a ser
detallada.





-------------------------------------------------------------------------------------------------
------------[ D.- Configuracion de LILO ]--------------------------------------------------------
-------------------------------------------------------------------------------------------------


- Archivo /etc/lilo.conf
boot = /dev/hda      # Es donde se va a colocar el lilo, MBR en este caso
		     # o tambien podes poner /dev/fd0 y lo copia al
		     # disquette
message = /boot/boot_message.txt # Mensaje, aparece cuando bootea lilo
prompt               # Muestra el prompt 'boot:'
timeout = 1200       # El tiempo q espera antes de bootear
# deja una sola de estas dos
vga = 791 # 1024x768x64k
vga = 769 # 640x480x256
image = /vmlinuz     # Imagen de kernel de linux
  root = /dev/hda1
  label = Linux
  read-only
other = /dev/hda2    # Particion de Windows/DOS
  label = DOS
  table = /dev/hda

- Ponerle password al lilo

Podes agregar estas dos lineas para ponerle password al lilo, tenes q poner 
esto antes del prompt

restricted
password=algun-password

y algun-password seria el password.

- Instalando lilo
	# lilo

- Desinstalando lilo
	# lilo -u
	en MS-DOS/Windows
	> fdisk /mbr







-------------------------------------------------------------------------------------------------
------------[E.- Conexion a internet ]-----------------------------------------------------------
-------------------------------------------------------------------------------------------------


- Dial Up (Modem 33kbps,56kbps, etc)
Si tu modem es un winmodem necesitas los drivers de linmodems.org para tu
modem, trae un readme sobre como instalarlo.

Minicom
-------

Una vez dentro del minicom apreta control+A y la 'o'
En serial port setup apretas la A para cambiar a Serial Device y probas
con lo q estan a continuacion, Si estas con el kppp es mas simple ya estan
escritos.

/dev/ttyS0	COM1
/dev/ttyS1	COM2
/dev/ttyS2	COM3
/dev/ttyS3	COM4

/dev/driver - Si tu modem es winmodem te genera otro device, usa el dev q te
genere

- Probar el modem
Escribi ATZ, y si te responde OK funciono.

- Linkearlo a /dev/modem
# rm /dev/modem
# ln -s /dev/ttyS1 /dev/modem 
ttyS1 en este caso, puede ser cualquiera de los otros o el q usa el
driver.





-------------------------------------------------------------------------------------------------
------------[F.- Firewall (ipchains) ]-----------------------------------------------------------
-------------------------------------------------------------------------------------------------


Para poder usar ipchains necesitas el kernel 2.1.102 o superior

Argumento   Funcion
-A          para agregar una norma nueva a la cadena
-D          Para eliminar una norma de una cadena
-F          Para eliminar todas las normas de una cadena o cadenas
-I          Para insertar una norma a una cadena
-L          Para listar las normas de una cadena
-P          Este comando es para cambiar las normas por defecto de una cadena
-R          Este comando es para reemplazar la norma de una cadena

Objetivo            funcion

 ACCEPT           Este sirve para permitir que el tipo de paquete descrito lo
		   deje pasar el firewall
 DENY             Denega
 MASQ             Este acepta el paquete descrito y lo dirige a la red interna
 REDIRECT         Redirecciona el paquete a un enlace o proceso personal
 REJECT           Este sirve para echar abajo un paquete que te mandan y
		  mandar el mensaje "ICMP Host Unreachable"

 Argumento          Funcion

 -b                 Es para especificar la norma especificada deberia 
		    aplicarse sin especficiar la direccion
 -d ! direccion     Es para especificar la direccion de destino
 -i ! interfaz      Para especificar el interdfaz de red

 -p ! protoclo      Protocolo - ICMP, UDP, TCP
 -s ! direccion     Para especificar la direccion fuente

- Bloqueo de puertos

	# ipchains -I input -j DENY -p tcp -s ! localhost -d 0/0 23
	# ipchains -I input -j DENY -p udp -s ! localhost -d 0/0 23
	Con esto bloquearia todas las conexiones entrantes al puerto 23
	q sean TCP/UDP.

	# ipchains -I input -j DENY -p tcp -s ! localhost -d 0/0 1:5
	Y aca bloquearia todas las conexiones del puerto 1 al 5 q sean 
	TCP

- Bloqueo de icmp

	# ipchains -A input -d 0/0 -s 0/0 -p icmp -j DENY

0/0: Cualquier ip/host Tambien puede ponerse cualquier IP tambien






-------------------------------------------------------------------------------------------------
------------[G.- Usuarios ]----------------------------------------------------------------------
-------------------------------------------------------------------------------------------------


- Agregar Usuarios

	# adduser usuario
	# passwd usuario

- Borrar Usuarios

Sacar de /etc/passwd y /etc/shadow la linea

usuario::12345:0:99999:7:::

	# rm -rf /home/usuario <- borrar su home 
	# rm -rf /var/spool/mail/usuario <- su mail, si es q se usa
	# su usuario <- usar el usuario
	# kill -9 -1 <- matar todos los procesos

H.- Permisos de usuarios

- chmod
(a) all
(g) group
(o) owner
	# chmod o+rw archivo - Da permiso de lectura/escritura a archivo
	# chmod a-rw archivo - Saca los permisos de lectura/escritura
	# chmod g+r archivo - Da permiso de lectura a archivo
	# chmod +x archivo - Da permiso de ejecucion
	# chmod -x archivo - Saca el permiso de ejecucion
- chown

	# chown usuario:grupo directorio o archivo
	# chown root:root /root/x.txt
	# chown usuario:users ~/x.txt


Esta es la primera parte del articulo, en la proxima ezine 
estara terminado









---------------------------------------------------
-       CONTACTA CONMIGO O CON EL TEAM            -
---------------------------------------------------
- NICK:	    rootzero                              -
- MAIL:     z3lta@altavista.com                   -	
- TEAM:     disidents@yahoo.es                    -
---------------------------------------------------








                                                           Disidents Argentina  2001 2 edicion. 
-------------------------------------------------------------------------------------------------

                     @@-------               @@---------------  
		    @@----                  @@---------       @@@@@@@@@  
		   @@--     @@@@@--        @@-- @@@@@       @     @@  @@@@@@@@@@@@@@@@@@@@@@@@@@@@-------
              @@@@@@    @@ @@      @@ @@@@@@-  @@      @@@ @    @@  @@-----------------------------
             @@        @@ @@@@@   @@ @@---    @@@@@@   @@ @@   @@  @@@@@--------------
            @@        @@     @@  @@ @@ -     @@       @@ @@   @@      @@----------
             @@@@@@@ @@  @@@@@@ @@   @@@@@@@ @@@@@@@ @@  @@ @@	     @@--------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@------
